<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //需求：使用正则表达式校验密码：只能输入6-20个字母，数字，下划线。
      /* var password = prompt("请输入要验证的密码:");
      var reg = /^[A-Za-z0-9]{6,20}$/;//^开头 $结束 {6，20}长度6-20
      if (!reg.test(password)) { //test()方法用来检测一个字符是否匹配某个格式
        alert(
          "您输入的密码格式不对，请输入由6-20个字母，数字，下划线组成的密码"
        );
      }*/

      //需求：把稀疏数组变成不稀疏数组（将值为undefine的删除）
      //稀疏数组：含有undefine的数组，数组中的某些值为空。
      var arr = [],
        newarr = [];
      arr[2] = 2345;
      arr[10] = "hello";
      arr[23] = true;
      console.log(arr);

      for (var i = 0; i < arr.length; i++) {
        if (arr[i]) {
          //遍历arr数组，将有值的元素放到newarr中
          newarr.push(arr[i]);
        }
      }
      console.log(newarr);

      //需求:将[1,2,2,3,5,4,3,3,3,5,7,6,9,9,9,9]数组去重复
      var arr1 = [1, 2, 2, 3, 5, 4, 3, 3, 3, 5, 7, 6, 9, 9, 9, 9];
      console.log(arr1);
      var newarr1 = [];
      newarr1[0] = arr1[0];
      for (var i = 0; i < arr1.length; i++) {
        if (newarr1.indexOf(arr1[i]) < 0)
          //indexof用来返回指定数据在数组中出现的位置，如果没找到，则返回-1
          newarr1.push(arr1[i]);
      }
      console.log(newarr1);
    </script>
  </body>
</html>
